package kr.hkit.androidcomplete02.service;

import android.app.IntentService;
import android.app.Service;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.util.Log;
import android.widget.Toast;

public class NewsService extends IntentService{
	
	private boolean mQuit;
	private static final String TAG="NewsService";
	private String[] arNews = {
			"일본, 독도는 한국땅으로 인정", "번데기 맛 쵸코파이 출시",
			"춘천 지역에 초거대 유전 발견", "한국 월드컵 결승 진출", "국민 소득 6만불 돌파",
			"학교 폭력 완전 근절된 것으로 조사", "안드로이드 점유율 아이폰을 앞질렀다"
	};
	
	public NewsService() {
		super("NewsService");
		Log.d(TAG, "NewsService()");
	}

	@Override
	public void onCreate() {
		super.onCreate();
		Log.d(TAG, "onCreate()");
	}

	@Override
	public int onStartCommand(Intent intent, int flags, int startId) {
		Log.d(TAG, "onStartCommand()");
		mQuit = false;
		
		return super.onStartCommand(intent, flags, startId);
	}

	@Override
	public void onDestroy() {
		super.onDestroy();
		Log.d(TAG, "onDestroy()");
		mQuit = true;
	}
	
	@Override
	protected void onHandleIntent(Intent intent) {
		Log.d(TAG, "onHandleIntent()");
		Message msg;
		for (int i=0; mQuit==false; i++){
			msg = Message.obtain(mHandler, 0, arNews[i%arNews.length]);
			mHandler.sendMessage(msg);
			
			try {
				Thread.sleep(2000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
	
	
	Handler mHandler = new Handler(){
		@Override
		public void handleMessage(Message msg) {
			super.handleMessage(msg); //위에서 sendmsg하면 이거 호출됨
			if (msg.what==0){
				String text = (String) msg.obj;
				Toast.makeText(NewsService.this, text, Toast.LENGTH_LONG).show();
			}
		}
	};

}
